home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / T U R B O Language / Turbo Pascal V7.0 / DOCDEMO.ZIP / PICKLIST.PAS < prev    next >
Pascal/Delphi Source File  |  1992-10-30  |  3KB  |  101 lines

  1. {************************************************}
  2. {                                                }
  3. {   Turbo Vision 2.0 Demo                        }
  4. {   Copyright (c) 1992 by Borland International  }
  5. {                                                }
  6. {************************************************}
  7.  
  8. program PickList;
  9.  
  10. uses Objects, Views, Dialogs, App, Drivers;
  11.  
  12. type
  13.   PCityColl = ^TCityColl;
  14.   TCityColl = object(TStringCollection)
  15.     constructor Init;
  16.   end;
  17.   PPickLine = ^TPickLine;
  18.   TPickLine = object(TInputLine)
  19.     procedure HandleEvent(var Event: TEvent); virtual;
  20.   end;
  21.   PPickWindow = ^TPickWindow;
  22.   TPickWindow = object(TDialog)
  23.     constructor Init;
  24.   end;
  25.   TPickApp = object(TApplication)
  26.     PickWindow: PPickWindow;
  27.     constructor Init;
  28.   end;
  29.  
  30. constructor TCityColl.Init;
  31. begin
  32.   inherited Init(10, 10);
  33.   Insert(NewStr('Scotts Valley'));
  34.   Insert(NewStr('Sydney'));
  35.   Insert(NewStr('Copenhagen'));
  36.   Insert(NewStr('London'));
  37.   Insert(NewStr('Paris'));
  38.   Insert(NewStr('Munich'));
  39.   Insert(NewStr('Milan'));
  40.   Insert(NewStr('Tokyo'));
  41.   Insert(NewStr('Stockholm'));
  42. end;
  43.  
  44. procedure TPickLine.HandleEvent(var Event: TEvent);
  45. begin
  46.   inherited HandleEvent(Event);
  47.   if Event.What = evBroadcast then
  48.     if Event.Command = cmListItemSelected then
  49.     begin
  50.       with PListBox(Event.InfoPtr)^ do
  51.       begin
  52.         Data^ := GetText(Focused, 30);
  53.       end;
  54.       DrawView;
  55.       ClearEvent(Event);
  56.     end;
  57. end;
  58.  
  59. constructor TPickWindow.Init;
  60. var
  61.   R: TRect;
  62.   Control: PView;
  63.   ScrollBar: PScrollBar;
  64. begin
  65.   R.Assign(0, 0, 40, 15);
  66.   inherited Init(R, 'Pick List Window');
  67.   Options := Options or ofCentered;
  68.   R.Assign(5, 2, 35, 3);
  69.   Control := New(PPickLine, Init(R, 30));
  70.   Control^.EventMask := Control^.EventMask or evBroadcast;
  71.   Insert(Control);
  72.   R.Assign(4, 1, 13, 2);
  73.   Insert(New(PLabel, Init(R, 'Picked:', Control)));
  74.   R.Assign(34, 5, 35, 11);
  75.   New(ScrollBar, Init(R));
  76.   Insert(ScrollBar);
  77.   R.Assign(5, 5, 34, 11);
  78.   Control := New(PListBox, Init(R, 1, ScrollBar));
  79.   Insert(Control);
  80.   PListBox(Control)^.NewList(New(PCityColl, Init));
  81.   R.Assign(4, 4, 12, 5);
  82.   Insert(New(PLabel, Init(R, 'Items:', Control)));
  83.   R.Assign(15, 12, 25, 14);
  84.   Insert(New(PButton, Init(R, '~Q~uit', cmQuit, bfDefault)));
  85. end;
  86.  
  87. constructor TPickApp.Init;
  88. begin
  89.   inherited Init;
  90.   PickWindow := New(PPickWindow, Init);
  91.   InsertWindow(PickWindow);
  92. end;
  93.  
  94. var
  95.   PickApp: TPickApp;
  96. begin
  97.   PickApp.Init;
  98.   PickApp.Run;
  99.   PickApp.Done;
  100. end.
  101.